define(['jquery', 'bootstrap', 'backend', 'jstree', 'form'], function ($, undefined, Backend, Table, Form) {


    function copyToClipboard(textToCopy) {
        // navigator clipboard 需要https等安全上下文
        if (navigator.clipboard && window.isSecureContext) {
            // navigator clipboard 向剪贴板写文本
            return navigator.clipboard.writeText(textToCopy);
        } else {
            // 创建text area
            let textArea = document.createElement("textarea");
            textArea.value = textToCopy;
            // 使text area不在viewport，同时设置不可见
            textArea.style.position = "absolute";
            textArea.style.opacity = 0;
            textArea.style.left = "-999999px";
            textArea.style.top = "-999999px";
            document.body.appendChild(textArea);
            textArea.focus();
            textArea.select();
            return new Promise((res, rej) => {
                // 执行复制命令并移除文本框
                document.execCommand('copy') ? res() : rej();
                textArea.remove();
            });
        }
    }

    var Controller = {
        index: function () {

            $(function() {
                $('#jstree').jstree({
                    'core' : {
                        'data' : function (obj, callback) {
                            $.ajax({
                                type: "POST",
                                url: "team/team/teams", // 替换为你的控制器方法URL
                                dataType: "json",
                                success: function (data) {
                                    //console.log(data);
                                    callback.call(this, data);
                                }
                            });
                        }
                    }
                    // 其他jstree配置...
                }).on('select_node.jstree', function (event, data) {
                    const username = data.node.original.username;
                    // console.log(username);
                    if (navigator.clipboard) {
                        navigator.clipboard.writeText(username)
                            .then(() => {
                                alert('复制成功');
                            })
                            .catch((err) => {
                               alert('复制失败');
                            });
                    } else {
                        // 回退方案：使用 document.execCommand（已废弃，但兼容旧浏览器）
                        const textarea = document.createElement('textarea');
                        textarea.value = username;
                        document.body.appendChild(textarea);
                        textarea.select();
                        try {
                            document.execCommand('copy');
                            alert('复制成功');
                        } catch (err) {
                            alert('复制失败');
                        }
                        document.body.removeChild(textarea);
                    }
                });

                $("#sou").click(function(){
                    let username=$('#c-username').val();
                    let nickname=$('#c-nickname').val();

                    let model= {
                        'username' : username,
                        'nickname' : nickname,
                    };
                    $.ajax({
                        type: "POST",
                        url: "team/team/sou", // 替换为你的控制器方法URL
                        dataType: "json",
                        data:model,
                        success: function (data) {
                            if(data.code==1){
                                $('#jstree').jstree(true).select_node(data.data);
                                $('#jstree').jstree(true).open_node(data.data);
                            }else{
                                alert(data.msg)
                            }

                            //console.log(data);

                        }
                    });


                });
            });


        },

        api: {
            bindevent: function () {
                Form.api.bindevent($("form[role=form]"));
            }
        }
    };
    return Controller;
});